Next:
Broker Chain
, Previous:
Command Design Pattern
, Up:
Index
Scenario
Command Design Pattern
커멘드 디자인 패턴은 어떤 객체를 활용할 때, 직접 그 객체의 API를 호출하여 조작하는 대신
작업을 어떻게 하라고 명령을 보내는 방식을 제안한다.
Scenario
struct
BankAccout
{
int
balance
=
0
;
int
overdraft_limit
=
-500
;
void
deposit
(
int
amount
)
{
balance
+=
amount
;
cout
<<
"
deposited
"
<<
amount
<<
"
, balance is now
"
<<
balance
<<
'\n'
;
}
void
withdraw
(
int
amount
)
{
if
(
balance
-
amount
>=
overdraft_limit
)
{
balance
-=
amount
;
cout
<<
"
withdrew
"
<<
amount
<<
"
, balance is now
"
<<
balance
<<
'\n'
;
}
}
}
;
위와 같이 이미 만들어져 있으며, 수정할 수 없는(라이브러리로 지원되는) 클래스가 있다고 하자
이 때 입출금 내역을 기록해야 하는 경우, 커맨드 디자인 패턴을 이용할 수 있다.